// mod t1;
mod t2;
use std::collections::HashMap;
use std::{fs, vec};

fn main() {
    // t1
    // let data = r#"
    // {
    //     "1": {
    //         "成都": ["宜宾", "自贡", "绵阳", "泸州"],
    //         "自贡": ["成都", "宜宾", "泸州"],
    //         "宜宾": ["泸州", "成都", "自贡", "绵阳"],
    //         "绵阳": ["成都", "宜宾", "自贡", "宜宾"],
    //         "东莞": ["深圳", "广州", "佛山"],
    //         "深圳": ["广州", "佛山", "东莞", "湛江"],
    //         "湛江": ["佛山", "广州", "深圳"],
    //         "桃园": ["台北", "高雄", "台中"],
    //         "高雄": ["台南", "台北", "台中"],
    //         "台北": ["台南", "台中", "桃园"],
    //         "台南": ["台中", "高雄", "台北"]
    //     },
    //     "2": {
    //         "东莞": ["深圳", "广州", "佛山"],
    //         "深圳": ["广州", "佛山", "东莞", "湛江"],
    //         "桃园": ["台北", "高雄", "台中"],
    //         "台南": ["台中", "高雄", "台北"]
    //     }
    // }
    // "#;

    // let city_map: CityMap = serde_json::from_str(data).unwrap();
    // println!("{:#?}", city_map);

    // t2
    // let d2 = r#"{
    //     "secs":56,
    //     "nanos":28
    // }"#;

    // let obj2: t2::Duration = serde_json::from_str(d2).unwrap();
    // //println!("{}", obj2.secs);

    // let mut a1: HashMap<String, t2::Duration> = HashMap::new();
    // a1.insert(String::from("1"), obj2.clone());
    // a1.insert(String::from("2"), obj2.clone());
    // let j = serde_json::to_string(&a1).unwrap();
    // println!("{}", j);

    // t3

    let mut box_vec: Vec<Vec<&str>> = Vec::new();
    let mut vec_str: Vec<&str> = Vec::new();
    vec_str.push("宜宾");
    vec_str.push("自贡");
    vec_str.push("绵阳");
    box_vec.push(vec_str.clone());
    let mut vec_str: Vec<&str> = Vec::new();
    vec_str.push("武汉");
    vec_str.push("高雄");
    vec_str.push("广州");
    box_vec.push(vec_str.clone());

    let j = serde_json::to_string(&box_vec).unwrap();
    println!("{}", j);

    // let mut hm_str: HashMap<&str, &str> = HashMap::new();
    // hm_str.insert("1", "d1");
    // hm_str.insert("2", "d2");

    // let j = serde_json::to_string(&hm_str).unwrap();
    // println!("{}", j);

    // let vec_data = vec_str;
    // let mut hm_vec: HashMap<&str, Vec<&str>> = HashMap::new();
    // hm_vec.insert("成都", vec_data.clone());
    // hm_vec.insert("绵阳", vec_data.clone());

    // let j = serde_json::to_string(&hm_vec).unwrap();
    // println!("{}", j);

    // let hm_vec_data = hm_vec;

    // let mut hm_hm_vec: HashMap<&str, HashMap<&str, Vec<&str>>> = HashMap::new();
    // hm_hm_vec.insert("1", hm_vec_data.clone());
    // hm_hm_vec.insert("2", hm_vec_data.clone());
    // let j = serde_json::to_string(&hm_hm_vec).unwrap();
    // println!("{}", j);

    // 4
    // let des_try: HashMap<&str, HashMap<&str, Vec<&str>>> = serde_json::from_str(data).unwrap();
    // dbg!(des_try);

    // let content = fs::read_to_string("district.json").unwrap();
    // let des_try: HashMap<&str, HashMap<&str, Vec<&str>>> = serde_json::from_str(&content).unwrap();

    // for (x, y) in des_try {
    //     println!()
    // }

    // let a = des_try.into_iter().next();
}
